.TH darkice.cfg 5 "September 9, 2001" "DarkIce" "DarkIce live audio streamer"
.SH NAME
darkice.cfg \- configuration file for darkice
.SH DESCRIPTION
.PP
The configuration file consists of sections, with key = value pairs
inside each secion:

.nf
[section1]
# this is a whole line comment
key = value
an ugly key name = long value    # this end is a comment too

[section2]
# this is a whole line comment in section 2
key = value
an ugly key name = long value    # this end is a comment too
.fi

A proper
.B DarkIce
configuration file contains the following sections:
.nf
[general]
[input]
[icecast-0] ... [icecast-7]
[shoutcast-0] ... [shoutcast-7]
.fi

The order of the sections is not important. Sections [general] and [input]
are required, and at least one of [icecast-x] or [shoutcast-x] is needed.

In particular, the following sections and values are recognized:
.PP
.B [general]

This section describes general operational parameters (required).

Required values:

.TP
.I duration
Time for DarkIce to run, in seconds.  If 0, run forever.
.TP
.I bufferSecs
Data read from the sound card is buffered before sent to
the mp3 encoder. Each buffer will be able to hold this
many seconds of samples.

.PP
.B [input]

This section describes the input (required).

Required values:

.TP
.I device
OSS DSP audio device to record from (e.g. /dev/dsp)
.TP
.I sampleRate
The sample rate to record with, samples per second
(e.g. 44100 for 44.1kHz CD-quality audio, 22050 for 22kHz or 11025
for 11kHz)
.TP
.I bitsPerSample
Number of bits to use for each sample (e.g. 8 bits or 16 bits)
.TP
.I channel
Number of channels to record (e.g. 1 for mono, 2 for stereo)

.PP
.B [icecast-x]

This section describes an output to an
.B IceCast
server, while encoding
with a lame encoder. There may be at most 8 outputs, numbered from 0 ... 7.
The number is included in the section name (e.g. [icecast-0] ... [icecast-7]).
The stream will be reachable at
.I http://<server>:<port>/<mountPoint>

Required values:

.TP
.I bitrate
Bit rate to encode to in kBits / sec (e.g. 96)
.TP
.I server
The
.B IceCast
server's name (e.g. yp.yourserver.com)
.TP
.I port
The port to connect to the IceCast server (e.g. 8000)
.TP
.I password
The password to use to connect to the
.B IceCast
server
.TP
.I mountPoint
Mount point for the stream on the server

.PP
Optional values:

.TP
.I name
Name of the stream
.TP
.I description
Description of the stream
.TP
.I url
Url related to the stream
.TP
.I genre
Genre of the stream
.TP
.I public
"yes" or "no", wether the stream is public
.TP
.I remoteDumpFile 
The file the
.B IceCast
server should dump the contents of
this stream on its side.
.TP
.I lowpass
Lowpass filter setting for the lame encoder. If not set,
the encoder's default behaviour is used
.TP
.I highpass
Highpass filter setting for the lame encoder. If not set,
the encoder's default behaviour is used

.PP
.B [shoutcast-x]

This section describes an output to a
.B ShoutCast
server, while encoding
with a lame encoder. There may be at most 8 outputs, numbered from 0 ... 7.
The number is included in the section name
(e.g. [shoutcast-0] ... [shoutcast-7]).
The stream will be reachable at
.I http://<server>:<port-1>/

Required values:

.TP
.I bitrate
Bit rate to encode to in kBits / sec (e.g. 96)
.TP
.I server
The
.B ShoutCast
server's name (e.g. yp.yourserver.com)
.TP
.I port
The source port to connect to the ShoutCast server (e.g. 8001)
.TP
.I password
The password to use to connect to the
.B ShoutCast
server

.PP
Optional values:

.TP
.I name
Name of the stream
.TP
.I url
Url related to the stream
.TP
.I genre
Genre of the stream
.TP
.I public
"yes" or "no", wether the stream is public
.TP
.I irc
IRC information related to the stream
.TP
.I aim
AIM information related to the stream
.TP
.I icq
ICQ information related to the stream
.TP
.I lowpass
Lowpass filter setting for the lame encoder. If not set,
the encoder's default behaviour is used
.TP
.I highpass
Highpass filter setting for the lame encoder. If not set,
the encoder's default behaviour is used

.PP
A sample configuration file follows. This file makes
.B DarkIce
stream for 1 minute (60 seconds) from the audio device
.I /dev/dsp
at 22kHz, 16 bit stereo.
It will build up a connection to the
.B IceCast
server yp.yourserver.com on port 8000 with the password "hackme".
The stream will be encoded to 96 kb/s mp3, and will be reachable at
.I http://yp.yourserver.com:8000/live96
to mp3 players.
The encoding session will be stored by
.B IceCast
in the file
.I /tmp/live96.mp3
on the server side.

.nf
[general]
duration        = 60
bufferSecs      = 5

[input]
device          = /dev/dsp
sampleRate      = 22050
bitsPerSample   = 16
channel         = 2

[icecast-0]
bitrate         = 96
server          = yp.yourserver.com
port            = 8000
password        = hackme
mountPoint      = live96
name            = DarkIce trial
description     = This is only a trial
url             = http://www.yourserver.com
genre           = live
public          = no
remoteDumpFile  = /tmp/live96.mp3
.fi


.PP
A bit more complicated sample follows. This one makes
.B DarkIce
stream for 1 hour (3600 seconds) from the audio device
.I /dev/dsp
at 22kHz, 16 bit stereo.

It will build up a connection to an
.B IceCast
server yp.your-ice-server.com on port 8000 with the password "ice-hackme".
The sound for this stream will be cut at 10500 Hz from above.
The stream will be encoded to 96 kb/s mp3, and will be reachable at
.I http://yp.your-ice-server.com:8000/live96
to mp3 players.
The encoding session will be stored by
.B IceCast
in the file
.I /tmp/live96.mp3
on the server side.

It will also connect to a
.I ShoutCast
server at yp.your-shout-server.com on port 8001 with the password "shout-hackme"
This stream will be encoded to 128 kb/s mp3, and will be reachable at
.I http://yp.your-shout-server.com:8000
to mp3 players.

.nf
[general]
duration        = 3600
bufferSecs      = 5

[input]
device          = /dev/dsp
sampleRate      = 22050
bitsPerSample   = 16
channel         = 2

[icecast-0]
bitrate         = 96
lowpass         = 10500
server          = yp.your-ice-server.com
port            = 8000
password        = ice-hackme
mountPoint      = live96
name            = DarkIce trial
description     = This is only a trial
url             = http://www.yourserver.com
genre           = live
public          = yes
remoteDumpFile  = /tmp/live96.mp3

[shoutcast-0]
bitrate         = 128
server          = yp.your-shout-server.com
port            = 8001
password        = shout-hackme
name            = DarkIce trial
url             = http://www.yourserver.com
genre           = live
public          = yes
irc             = irc.yourserver.com
aim             = aim here
icq             = I see you too
.fi


.SH BUGS
.PP
Lots of bugs.


.SH "SEE ALSO"
darkice(1)


.SH AUTHOR
Akos Maroy
.I <darkeye@users.sourceforge.net>


.SH LINKS
Project homepage:
.I http://darkice.sourceforge.net/

.B IceCast
homepage:
.I http://www.icecast.org/

.B ShoutCast
homepage:
.I http://www.shoutcast.com/

.B Lame
homepage:
.I http://www.mp3dev.org/mp3/

